import dayjs from 'dayjs'

/**
 * 将时间戳转换为指定格式的日期字符串
 * @param timestamp 时间戳（毫秒）或 Date 对象
 * @param format 格式（默认 yyyy-MM-dd）
 * @returns 格式化后的日期字符串
 * @example
 * formatTime(1646390400000, "YYYY-MM-DD HH:mm:ss") // "2022-03-07 00:00:00"
 */
export function formatTime(timestamp: number | Date, format: string = 'YYYY-MM-DD'): string {
  return dayjs(timestamp).format(format)
}
/**
 * 将日期字符串转换为时间戳（毫秒）
 * @param dateString 日期字符串，例如 "2025-03-07"
 * @returns 时间戳（毫秒）
 * @example
 * parseDateToTimestamp("2025-03-07") // 1646390400000
 */
export function parseDateToTimestamp(dateString: string): number {
  return dayjs(dateString, 'YYYY-MM-DD').valueOf()
}

export function getMonthRange(date = dayjs()) {
  const d = dayjs(date) // 处理传入的日期
  return {
    beginTime: d.startOf('month').format('YYYY-MM-DD'),
    endTime: d.endOf('month').format('YYYY-MM-DD'),
  }
}
